package DesignPattern.simpleFactory;

/**
 * @Author cj
 * @Date 2024/8/11 16:55
 */
/*工厂模式（Factory Pattern）是一种创建型设计模式，用于在父类中定义一个用于创建对象的方法，
        但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。*/

/*这种模式的好处是客户端代码不需要知道要实例化哪一个具体类，所有实例化的逻辑都在工厂类中处理。
        如果需要增加新的产品，只需添加新的具体产品类并在工厂类中扩展相应的逻辑。*/
public class FactoryPatternDemo {
    public static void main(String[] args) {
        ProductFactory factory = new ProductFactory();

        // 创建产品A
        Product productA = factory.createProduct("A");
        productA.use(); // 输出：Using ConcreteProductA

        // 创建产品B
        Product productB = factory.createProduct("B");
        productB.use(); // 输出：Using ConcreteProductB
    }
}

